package com.anosine.gpsl.android.presenter;

import android.os.Build;

import com.anosine.gpsl.android.GPSLApp;
import com.anosine.gpsl.android.dao.LoginDao;
import com.anosine.gpsl.android.entity.Login;
import com.anosine.gpsl.android.impl.LoginDaoImpl;
import com.anosine.gpsl.android.ui.LoginView;
import com.anosine.gpsl.android.util.DeviceUtil;
import com.lidroid.xutils.util.LogUtils;
import com.anosine.gpsl.android.presenter.BasePresenterActivity.OnLoadListener;

/**
 * @Title: LoginPresenter
 * @Package com.anosine.gpsl.android.presenter
 * @Description: 接收impl传递过来的Result解析JSON语句后的数据，并且改为实体后放入View的方法中传递给View，获取登录信息
 * @author: sunny
 * @date: 2015-11-18
 * @version V1.0
 */
public class LoginPresenter extends BasePresenterActivity implements OnLoadListener {
	private LoginDao dao;
	private LoginView view;

	/**
	 * @Title: LoginPresenter(LoginView view)
	 * @Description: 构造方法，初始化
	 * @param: view
	 * @throws
	 */

	public LoginPresenter(LoginView view) {
		super();
		this.dao = new LoginDaoImpl(this);
		this.view = view;
	}

	/**
	 * @Title: loadLogin(String username, String userpass, String imeino, String
	 *         ChannelId,String imsino, String mobilebrank, String isAndroid,
	 *         String baidupushid , String mobilemodel,String version)
	 * @Description: 调用登录接口，参数赋值
	 * @param username
	 *            用户名
	 * @param userpass
	 *            密码
	 * @param imeino
	 *            IMEI号
	 * @param imsino
	 *            IMSI号
	 * @param mobilebrank
	 *            手机品牌
	 * @param mobilemodel
	 *            手机型号
	 * @param isAndroid
	 *            手机系统，1为android
	 * @param ChannelId
	 *            百度推送channelId
	 * @param baidupushid
	 *            百度推送ID
	 * @param version
	 *            版本号
	 * @return: 无
	 * @throws
	 */

	public void loadLogin(String username, String userpass, String imeino,
			String ChannelId, String imsino, String mobilebrank,
			String isAndroid, String baidupushid, String mobilemodel,
			String version) {
		dao.getLogin(username, userpass, imeino, ChannelId, imsino,
				mobilebrank, isAndroid, baidupushid, mobilemodel, version);
	}

	/**
	 * @Title: onLoadStart()
	 * @Description: 重写加载开始方法
	 * @param: 无
	 * @return: 无
	 * @throws
	 */

	@Override
	public void onLoadStart() {
		LogUtils.d("获取登录信息加载中。。");
	}

	/**
	 * @Title: onFailure()
	 * @Description: 重写加载失败方法
	 * @param: 无
	 * @return: 无
	 * @throws
	 */
	@Override
	public void onFailure() {
		LogUtils.d("获取登录信息加载失败。。");
	}

	/**
	 * @Title: onSuccess(Object obj)
	 * @Description: 重写加载成功方法
	 * @param: Object obj
	 * @return: 无
	 * @throws
	 */
	@Override
	public void onSuccess(Object obj) {
		Login res = (Login) obj;
		loadLoginSuccess(res);
	}

	/**
	 * @Title: loadLoginSuccess(Login res)
	 * @Description: 将传递过来的JSON语句解析后的数据改为实体后放入LoginView的方法中传递给View
	 * @param: Login res
	 * @return: 无
	 * @throws
	 */

	private void loadLoginSuccess(Login res) {
		this.view.setLogin(res);
	}
}
